/**
 * 工作计划指标
 */
export interface PpiIndex {
  /**
   * 工作项目界定/描述
   */
  define?: string;
  /**
   * 完成目标及时限要求
   */
  definition?: string;
  status?: number;
  id?: number;
  /**
   * 工作计划项目
   */
  name: string;
  /**
   * 评分标准/规则
   */
  rule: string;
  /**
   * 工作类型（1重点工作 2例行工作 3新增工作）
   */
  type: number;
}
/**
 * 否决指标
 */
export interface VetoIndex {
  /**
   * 项目界定
   */
  define: string;
  /**
   * 指标定义
   */
  definition: string;
  status: number;
  id?: number;
  /**
   * 指标名称
   */
  name: string;
  /**
   * 评分标准/规则
   */
  rule: string;
  /**
   * 考核目标值
   */
  target: number;
  /**
   * 考核目标值
   */
  assessmentTargetValue?: number;
  /**
   * 考核目标单位
   */
  assessmentTargetUnit?: string;
}
/**
 * 加减分项指标
 */
export interface ScoreCalculationIndex {
  /**
   * 项目界定
   */
  define: string;
  /**
   * 指标定义
   */
  definition: string;
  status: number;
  id?: number;
  /**
   * 指标名称
   */
  name: string;
  /**
   * 评分标准/规则
   */
  rule: string;
  /**
   * 考核目标值
   */
  assessmentTargetValue?: number;
  /**
   * 考核目标单位
   */
  assessmentTargetUnit?: string;
}
/**
 * 目标与关键成果指标库
 */
export interface OkrIndex {
  id?: number;
  /**
   * 目标名称
   */
  name: string;
  performanceKeyResultsIndexLibrary: performanceKeyResultsIndexLibrary[];
  /**
   * 状态（1启动 2停止）
   */
  status: number;
  /**
   * 权重/分值
   */
  weight: number;
  /**
   * 类型（1权重2分值）
   */
  weightType: number;
  /**
   * 自定义字段，前端用
   */
  index?: number;
}

export interface performanceKeyResultsIndexLibrary {
  id?: number;
  performanceTargetIndexLibraryId?: number;
  /**
   * 目标名称
   */
  result: string;
  /**
   * 权重/分值
   */
  weight: number;
}
export interface KpiIndex {
  /**
   * 考核挑战值
   */
  challengePoint?: number;
  /**
   * 主键id
   */
  id?: number;
  /**
   * 指标定义
   */
  indexDefinition?: string;
  /**
   * 指标公式/说明
   */
  instructions?: string;
  /**
   * 是否使用考核挑战值( 1是 2否)
   */
  isUserChallengePoint?: number;
  /**
   * 是否使用考核基准值( 1是 2否)
   */
  isUseReferenceValue: number;
  /**
   * 指标名称
   */
  name: string;
  /**
   * 指标极性
   */
  polarity?: number;
  /**
   * 项目界定
   */
  projectDefinition?: string;
  /**
   * 考核基准值
   */
  referenceValue?: number;
  /**
   * 评分标准/规则
   */
  rule: string;
  /**
   * 评分方式（1直接输入2公示计算）
   */
  scoringMethod: number;
  /**
   * 指标来源(1客户类2财务类3内部运维类4学习与成长类)
   */
  source: number;
  /**
   * 状态（1启动 2停止）
   */
  status: number;
  /**
   * 目标值单位（例如%、元、万元）
   */
  targetUnitValue?: string;
  /**
   * 考核目标值
   */
  targetValue?: number;
  /**
   * 指标类型（1定量指标2定性指标）
   */
  type: number;
}
/**
 * 能力素质指标库
 */
export interface BpiIndex {
  /**
   * 定义
   */
  definition: string;
  /**
   * 主键id
   */
  id?: number;
  /**
   * 指标名称
   */
  name: string;
  performanceAbilityQualityIndexLibraryScoringStandard: PerformanceAbilityQualityIndexLibraryScoringStandard[];
  /**
   * 状态（1启动 2停止）
   */
  status: number;
}

export interface PerformanceAbilityQualityIndexLibraryScoringStandard {
  id?: number;
  /**
   * 类型 1 优秀 2 良好 3 一般 4 较差 5 差
   */
  type?: number;
  /**
   * 完成率
   */
  value?: string;
}
/**
 * 绩效考核
 */
export interface PerformanceAppraisal {
  /**
   * 描述
   */
  content?: string;
  /**
   * 自定义周期结束
   */
  cycleEnd?: any;
  /**
   * 模板类型（1、绩效考核模板2、试用期考核模板3、晋升考核模板* 4、任期考核模板5、合同续签考核模板6、其他考核模板）
   */
  templateType?: number;
  /**
   * 自定义周期开始
   */
  cycleStart?: any;
  /**
   * 考核周期（1试用期 2自定义）
   */
  cycleType?: number;
  /**
   * 考核评价权重
   */
  organizationEvaluation?: number;
  /**
   * 自评权重
   */
  selfEvaluation?: number;
  /**
   * 上限类型（1、设置上限 2、不设上限）
   */
  upperLimitType?: number;
  /**
   * 评分计算(1、加和计算 2、加权计算)
   */
  scoreCalculation?: number;
  id?: number;
  /**
   * 绩效考核模板名称
   */
  name?: string;
  /**
   * 能力素质指标库
   */
  performanceAbilityQualityIndexLibraryUse?: PerformanceAbilityQualityIndexLibraryUse[];
  /**
   * 加减分项指标库
   */
  performanceAddSubtractIndexLibraryUse?: PerformanceAddSubtractIndexLibraryUse[];
  /**
   * 考核维度
   */
  performanceAssessmentTemplateDimensionality?: PerformanceAssessmentTemplateDimensionality[];
  /**
   * 适用范围
   */
  performanceAssessmentTemplateRange?: PerformanceAssessmentTemplateRange[];
  /**
   * 关键业绩指标库
   */
  performanceKeyPerformanceIndexLibraryUse?: PerformanceKeyPerformanceIndexLibraryUse[];
  /**
   * 目标与关键成果指标库
   */
  performanceTargetIndexLibraryUse?: PerformanceTargetIndexLibraryUse[];
  /**
   * 否决指标库
   */
  performanceVetoIndexLibraryUse?: PerformanceVetoIndexLibraryUse[];
  /**
   * 工作计划指标库
   */
  performanceWorkPlanIndexLibraryUse?: PerformanceWorkPlanIndexLibraryUse[];
  /**
   * 启用状态（1启动2停止）
   */
  status?: number;
}

export interface PerformanceAddSubtractIndexLibraryUse {
  /**
   * 项目界定
   */
  define?: string;
  /**
   * 指标定义
   */
  definition?: string;
  id?: number;
  /**
   * 指标权重
   */
  indexWeight?: number;
  /**
   * 指标名称
   */
  name?: string;
  /**
   * 评分标准/规则
   */
  rule?: string;
  /**
   * 状态（1启动 2停止）
   */
  status?: number;
  /**
   * 考核目标值
   */
  assessmentTargetValue?: number;
  /**
   * 考核目标单位
   */
  assessmentTargetUnit?: string;
}

export interface PerformanceKeyPerformanceIndexLibraryUse {
  index?: number;
  /**
   * 考核挑战值
   */
  challengePoint?: number;
  id?: number;
  /**
   * 指标定义
   */
  definition?: string;
  /**
   * 事项描述/界定
   */
  define?: string;
  /**
   * 指标定义
   */
  indexDefinition?: string;
  /**
   * 指标权重
   */
  indexWeight?: number;
  /**
   * 指标公式/说明
   */
  instructions?: string;
  /**
   * 是否使用考核挑战值( 1是 2否)
   */
  isUserChallengePoint?: number;
  /**
   * 是否使用考核基准值( 1是 2否)
   */
  isUseReferenceValue?: number;
  /**
   * 指标名称
   */
  name?: string;
  /**
   * 指标极性
   */
  polarity?: number;
  /**
   * 项目界定
   */
  projectDefinition?: string;
  /**
   * 考核基准值
   */
  referenceValue?: number;
  /**
   * 评分标准/规则
   */
  rule?: string;
  /**
   * 评分方式（1直接输入2公示计算）
   */
  scoringMethod?: number;
  /**
   * 指标来源(1客户类2财务类3内部运维类4学习与成长类)
   */
  source?: number;
  /**
   * 评分方式 1 选项否决 2 输入扣分
   */
  scoreType?: number;

  /**
   * 备注
   */
  note?: string;
  /**
   * 状态（1启动 2停止）
   */
  status?: number;
  /**
   * 目标值单位（例如%、元、万元）
   */
  assessmentTargetUnit?: string;
  /**
   * 考核目标值(试用期用)
   */
  targetValue?: number;
  /**
   * 考核目标值
   */
  assessmentTargetValue?: number;
  /**
   * 指标类型（1定量指标2定性指标）
   */
  type?: number;
  performanceAbilityQualityIndexLibraryScoringStandard?: performanceAbilityQualityIndexLibraryScoringStandard[];
  personnelKeyResultsIndexLibrary?: {
    scorer?: Scorer[];
    scorerStatus?: ScorerStatus;
  }[];
  scorer?: Scorer[];
  scorerStatus?: ScorerStatus;
}
interface Appoint {
  /**
   * 是否开启
   */
  status: number;
  /**
   * 权重
   */
  weight: number;
}
/**
 * 是否开启评分人，与权重
 */
export interface ScorerStatus {
  /**
   * 指定人员
   */
  appoint: Appoint;
  /**
   * 下级人员（字段同上）
   */
  junior: Appoint;
  /**
   * 其他人员（字段同上）
   */
  other: Appoint;
  /**
   * 同级人员（字段同上）
   */
  peer: Appoint;
  /**
   * 上级人员（字段同上）
   */
  superiors: Appoint;
}
export interface Scorer {
  id?: number;
  /**
   * 类型 1 指定人员 2 上级 3 下级 4同级5自己6其他
   */
  type?: number;
  userId?: number;
  /**
   * 权重
   */
  weight?: number;
  /**
   * 启动他人代办
   */
  isWaitDone?: number;
}
interface performanceAbilityQualityIndexLibraryScoringStandard {
  type?: number;
  value?: string;
}
export interface PerformanceAbilityQualityIndexLibraryUse {
  /**
   * 指标定义
   */
  definition?: string;
  id?: number;
  /**
   * 指标权重
   */
  indexWeight?: number;
  /**
   * 指标名称
   */
  name?: string;
  /**
   * 状态（1启动 2停止）
   */
  status?: number;
}

/**
 * 考核维度
 */
export interface PerformanceAssessmentTemplateDimensionality {
  id?: number;
  /**
   * 指标库id
   */
  indexLibraryId?: number;
  /**
   * 指标权重
   */
  indexWeight?: number;
  /**
   * 允许员工新增指标(1是2否)
   */
  isAllow?: number;
  /**
   * 维度名称
   */
  name?: string;
  /**
   * 备注
   */
  note?: string;
  /**
   * 【performance_probation_assessment_template】表id
   */
  performanceProbationAssessmentTemplateId?: number;
  /**
   * 考核工具（1关键业绩考核2能力素质考核3工作计划考核4目标与关键成果法5加减分项6否决指标法）
   */
  type?: number;
  /**
   * 维度权重
   */
  weight?: number;
}

export interface PerformanceAssessmentTemplateRange {
  /**
   * 主键id
   */
  id?: number;
  /**
   * 组织id（部门id、职位id、员工id）
   */
  organizationId?: number;
  /**
   * 组织类型（1部门 2职位 3员工）
   */
  organizationType?: number;
}

export interface PerformanceTargetIndexLibraryUse {
  id?: number;
  /**
   * 指标权重
   */
  indexWeight?: number;
  /**
   * 目标名称
   */
  name?: string;
  performanceKeyResultsIndexLibraryUse?: PerformanceKeyResultsIndexLibraryUse[];
  /**
   * 状态（1启动 2停止）
   */
  status?: number;
  /**
   * 权重/分值
   */
  weight?: number;
  /**
   * 类型（1%2分）
   */
  weightType?: number;
}

export interface PerformanceKeyResultsIndexLibraryUse {
  id?: number;
  /**
   * 目标名称
   */
  result?: string;
  /**
   * 权重/分值
   */
  weight?: number;
}

export interface PerformanceVetoIndexLibraryUse {
  /**
   * 项目界定
   */
  define?: string;
  /**
   * 指标定义
   */
  definition?: string;
  id?: number;
  /**
   * 指标权重
   */
  indexWeight?: number;
  /**
   * 指标名称
   */
  name?: string;
  /**
   * 评分标准/规则
   */
  rule?: string;
  /**
   * 状态（1启动 2停止）
   */
  status?: number;
  /**
   * 考核目标值
   */
  assessmentTargetValue?: number;
  /**
   * 考核目标单位
   */
  assessmentTargetUnit?: string;
}

export interface PerformanceWorkPlanIndexLibraryUse {
  /**
   * 工作项目界定/描述
   */
  define?: string;
  /**
   * 完成目标及时限要求
   */
  definition?: string;
  id?: number;
  /**
   * 指标权重
   */
  indexWeight?: number;
  /**
   * 工作计划项目
   */
  name?: string;
  /**
   * 评分标准/规则
   */
  rule?: string;
  /**
   * 状态（1启动 2停止）
   */
  status?: number;
  /**
   * 工作类型（1重点工作 2例行工作 3新增工作）
   */
  type?: number;
}
